package com.gz.dto;

import java.util.Date;
import java.io.Serializable;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.StringUtils;
import com.gz.utils.DataFmtUtil;

/**
 * 学生用户表(Suser)实体参数类
 *
 * @author jhk
 * @since 2024-08-23 18:26:08
 */
@Data
@ApiModel("Suser实体参数类")
public class SuserDto extends PageInfoDto implements Serializable {
    private static final long serialVersionUID = 774110693676796055L;
    private Integer id;
    @ApiModelProperty("用户名")
    private String username;
    @ApiModelProperty("密码")
    private String password;
    @ApiModelProperty("生日")
    private String birthday;
    @ApiModelProperty("年龄")
    private String age;
    @ApiModelProperty("性别")
    private String gender;
    @ApiModelProperty("余额")
    private String accountBalance;
    @ApiModelProperty("手机号")
    private String mobile;
    @ApiModelProperty("地址")
    private String address;
    @ApiModelProperty("学习教师等级")
    private String studyLevel;
    @ApiModelProperty("会员等级")
    private String meberLevel;
    @ApiModelProperty("会员积分")
    private String memberPoint;
    @ApiModelProperty("几零后")
    private String yearFcade;
    @ApiModelProperty("信用评分")
    private Double creditScore;
    @ApiModelProperty("昵称")
    private String nickName;
    @ApiModelProperty("验证码")
    private String verifyCode;
    @ApiModelProperty("token令牌")
    private String token;
    @ApiModelProperty("第三方登录平台标识")
    private String provide;
    @ApiModelProperty("第三方平台id")
    private String openId;
    @ApiModelProperty("学校名称")
    private String schoolName;
    @ApiModelProperty("学层")
    private String learnLevel;
    @ApiModelProperty("科目")
    private String subject;
    @ApiModelProperty("年级")
    private String grade;
    @ApiModelProperty("省份")
    private String province;
    @ApiModelProperty("城市")
    private String city;
    @ApiModelProperty("区域")
    private String area;
    @ApiModelProperty("真实姓名")
    private String realName;
    @ApiModelProperty("身份证号")
    private String idNum;
    @ApiModelProperty("身份证图片正面")
    private String idImg1;
    @ApiModelProperty("身份证图片正面")
    private String idImg2;
    @ApiModelProperty("学生证号")
    private String studyCardNum;
    @ApiModelProperty("学生证图片1")
    private String studyCardImg1;
    @ApiModelProperty("学生证图片2")
    private String studyCardImg2;
    @ApiModelProperty("头像")
    private String userImg;
    @ApiModelProperty("数据创建人id")
    private Integer crtId;
    @ApiModelProperty("数据创建人时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date crtDt;
    @ApiModelProperty("数据更新人id")
    private Integer optId;
    @ApiModelProperty("数据更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date optDt;
    @ApiModelProperty("角色id")
    private Integer roleId;
    @ApiModelProperty("角色id集合")
    private List<Integer> roleIds;
    @ApiModelProperty("排序字段")
    private String orderField;
    @ApiModelProperty("排序类型")
    private String orderType;
    @ApiModelProperty("删除状态")
    private Integer status;
    @ApiModelProperty("有效截止时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date validDate;
    public String getOrderField() {
        if (!StringUtils.isEmpty(orderField)) {
            return DataFmtUtil.xX2x_x(orderField);
        }
        return orderField;
    }
}

